📡 API 與 JSON —— 從「問時間」到「問世界」

1️⃣ 什麼是 API?(Application Programming Interface)

延續上一章的比喻——

NTP Server 就係「世界時鐘局」,ESP32 向佢發出一個請求(Request),對方回覆咗一個答案(Response)。

API 其實就係「讓裝置同裝置溝通嘅標準說話方式」。 你可以當佢係:

「一個程式可以問另一個程式嘅問題。」

💬 舉例

問題伺服器回答內容
幾點鐘?NTP ServerUTC 時間
今日天氣點?天氣 API(例如 OpenWeatherMap)溫度、濕度、狀態
匯率幾多?金融 API美金 / 港紙 匯率

ESP32 只要識得: 1️⃣ 上網 → 2️⃣ 發出請求(Request)→ 3️⃣ 收到資料(Response)→ 4️⃣ 解析資料 → 就可以問「世界上任何公開 API」。

2️⃣ Request 與 Response:API 的骨幹

🚀 Request(請求)

一個 Request 通常包含:

 

📦 Response(回應)

伺服器收到請求後,會回傳一段文字資料。 通常用 JSON 格式(JavaScript Object Notation)。

 

3️⃣ 什麼是 JSON?

JSON 就係一種結構化資料嘅表示方式, 讓人類同電腦都睇得明。

例子:

👉 我哋睇到:

4️⃣ ESP32 點樣用 API?

ESP32 除咗連 Wi-Fi 同用 NTP,仲可以:

5️⃣ 為什麼要學 JSON?

因為 NTP 只會回時間,但 API 可以回任何資料

類型API可取得資料
天氣OpenWeather / Open-Meteo溫度、濕度、風速
匯率ExchangeRate API貨幣兌換比
日期時間WorldTime API不同地區的時間
交通Transport API公車、航班資料

🧠 延伸任務建議(自學鷹架)

學生可以延伸設計:

🎓 小結

概念功能類比
RTC硬體時鐘,離線仍可記時間手錶
NTP網絡對時服務向世界時鐘問時間
API讓程式彼此溝通的語言問問題
JSON結構化資料格式統一回信格式